1. Field of the Invention
The present invention relates to a data processing apparatus and method for merging secure and non-secure data into an output data stream.
2. Description of the Prior Art
Data providers are often keen to take steps to protect certain valued data from unauthorised copying and/or distribution. For example, providers of content such as films, images, music, etc often distribute that data in an encoded form, such that only authorised users with an appropriate decoder can access that data. For the purposes of the following description, data which is considered valuable by the data provider, and for which it is hence desired to inhibit unauthorised copying and distribution, will be referred to herein as “secure data”, as contrasted with “non-secure data” which will be used to refer to data which is not subjected to such constraints.
Apparatus used to decode and output secure data may also be used to handle and output non-secure data, and often this may require both secure data and non-secure data to be merged into a single output data stream. Considering as an example a computer system, it may be desired to display non-secure data in the form of a graphical user interface, whilst within a particular window of that graphical user interface it is desired to display secure data, such as a film or a sequence of images. Merging of such secure and non-secure data in order to produce an output data stream for display can be performed by software within the computer system, and will typically result in the merged data being placed in a frame store, from where it will then be read by a display controller in order to generate the necessary signals to the display device.
Two particular problems arise with such an approach. Firstly, considering the security issue, it can be seen that once the secure data has been decoded, it may be subjected to several processing steps in order to perform any necessary manipulation of the secure data prior to its merging with the non-secure data, and then the actual merging process will be performed, before that data is then placed in the frame store. During this time, the secure data may be vulnerable to unauthorised access which might then allow the secure data in its decoded form to be copied and subsequently distributed. Secondly, the process of merging these two different data sources is both processor intensive, and also memory bandwidth intensive due to the number of accesses required to the memory system storing the data.
Accordingly, it would be desirable to provide an improved apparatus and method for merging secure and non-secure data into an output data stream.